# -*- coding: utf-8 -*-
from django.db import models
from django.core.urlresolvers import reverse
class Testamento(models.Model):
    nome = models.CharField('Testamento', max_length=30)
    slugtestamento = models.CharField('Abreviação', max_length=2)
    cliques = models.IntegerField('Cliques', default=0, editable=False)
    def __unicode__(self):
        return  self.nome

class Versao(models.Model):
    nome = models.CharField('Versão', max_length=50, unique=True)
    slugversao = models.CharField('Abreviação da Versão', max_length=5)
    cliques = models.IntegerField('Cliques', default=0, editable=False)
    def __unicode__(self):
        return  self.nome

class Livro(models.Model):
    nomeTestamento = models.ForeignKey(Testamento)
    nomeVersao = models.ForeignKey(Versao, verbose_name='Versão')
    nome = models.CharField('Nome do livro', max_length=30)
    sluglivro = models.CharField(max_length=3)
    cliques = models.IntegerField('Cliques', default=0, editable=False)
    def __unicode__(self):
        return "%s - %s" % (self.nome, self.nomeVersao.slugversao)
    def get_absolute_url(self):
        return reverse('Scope.views.capitulo', kwargs={'slugtestamento': self.nomeTestamento.slugtestamento,
                                                        'slugversao': self.nomeVersao.slugversao,
                                                        'sluglivro': self.sluglivro,
        })

class Capitulo(models.Model):
    nomeLivro = models.ForeignKey(Livro)
    ncapitulo = models.PositiveSmallIntegerField()
    def __unicode__(self):
        return "%s - %s - %s" % (self.nomeLivro.nomeVersao.nome, self.nomeLivro.nome, self.ncapitulo)
    def get_absolute_url(self):
        return reverse('Scope.views.capitulo', kwargs={'slugtestamento': self.nomeLivro.nomeTestamento.slugtestamento,
                                                        'slugversao': self.nomeLivro.nomeVersao.slugversao,
                                                        'sluglivro': self.nomeLivro.sluglivro,
                                                        'ncap': self.ncapitulo,
        })

class Versiculo(models.Model):
    nomeCapitulo = models.ForeignKey(Capitulo)
    nversiculo = models.PositiveSmallIntegerField()
    texto = models.TextField()
    cliques = models.IntegerField('Cliques', default=0, editable=False)
    def __unicode__(self):
        return "%s - %s %s.%s" % (self.nomeCapitulo.nomeLivro.nomeVersao.nome, self.nomeCapitulo.nomeLivro.nome, self.nomeCapitulo.id, self.id)
    def get_absolute_url(self):
        return reverse('Scope.views.versiculo', kwargs={'slugtestamento': self.nomeCapitulo.nomeLivro.nomeTestamento.slugtestamento,
                                                        'slugversao': self.nomeCapitulo.nomeLivro.nomeVersao.slugversao,
                                                        'sluglivro': self.nomeCapitulo.nomeLivro.sluglivro,
                                                        'ncap': self.nomeCapitulo.id,
                                                        'versoid': self.id,
        })
    def capitulo(self):
        return self.nomeCapitulo.nomeLivro.nome
    def numerocapitulo(self):
        return self.nomeCapitulo.ncapitulo
    def versiculo(self):
        return self.id
    def versao(self):
        return self.nomeCapitulo.nomeLivro.nomeVersao.nome